use crate::rbatis::crud_table;
use rbatis::DateTimeNative;
use serde_derive::{Deserialize, Serialize};

#[crud_table]
#[derive(Debug, Serialize, Deserialize, Clone, PartialEq)]
pub struct Menu {
    pub menu_id: Option<u64>,
    pub menu_name: Option<String>,
    pub parent_id: Option<u64>,
    pub path: Option<String>,
    pub component: Option<String>,
    pub icon: Option<String>,
    pub index_no: Option<u64>,
    pub remark: Option<String>,
    pub state: Option<u64>,
    pub del_flag: Option<u64>,
    pub create_time: Option<DateTimeNative>,
}

#[derive(Debug, Serialize, Deserialize, Clone, PartialEq)]
pub struct MenuVo {
    pub menu_id: Option<u64>,
    pub menu_name: Option<String>,
    pub parent_id: Option<u64>,
    pub path: Option<String>,
    pub icon: Option<String>,
    pub index_no: Option<u64>,
    pub remark: Option<String>,
    pub state: Option<u64>,
    pub create_time: Option<DateTimeNative>,
    pub page_num: Option<u64>,
    pub page_size: Option<u64>,
}
